#ifndef Chart_ChartTemplate_h
#define Chart_ChartTemplate_h
#include "EnumDefinition.h"
#include "CanvaserStatus.h"
#include <string>
#include <vector>

namespace ytx
{
	class ChartTemplate
    {
	public:
		ChartTemplate(): volumeUnit("手"), kLineDateCount(5), isAvgArea(true), isKSidePercentText(false),
						 sideRightTextAlign("right"), isSideTextAdduction(true), titlePosition(ChartPosition::left_top),
						 lineRemindPosition(ChartPosition::left_top), isDashLine(false), xCrosshairs(false),
						 yCrosshairs(true), xCrosshairsText(false), yCrosshairsText(false) , isShowLoading(true),
						 rectKLineRow(0)
		{
			this->canvaserCollectionList.push_back(CanvaserStatus("LRect", true));
            this->canvaserCollectionList.push_back(CanvaserStatus("LUserAVG", false));
			this->canvaserCollectionList.push_back(CanvaserStatus("LKLine", false));
			this->canvaserCollectionList.push_back(CanvaserStatus("LIndex", false));
			this->canvaserCollectionList.push_back(CanvaserStatus("LLine", false));
            this->canvaserCollectionList.push_back(CanvaserStatus("LText", true));
            this->canvaserCollectionList.push_back(CanvaserStatus("LEconomicCalendar", true));
			this->canvaserCollectionList.push_back(CanvaserStatus("LCrosshairs", true));

			//this->canvaserCollectionList.push_back(CanvaserStatus("LReminded", false));
		}
        const std::string volumeUnit;
		const int kLineDateCount;

		const bool isAvgArea;
		const bool isKSidePercentText;

		const std::string sideRightTextAlign;
		const bool isSideTextAdduction;

		const ChartPosition::ChartPosition titlePosition;
		const ChartPosition::ChartPosition lineRemindPosition;

	 	const int keepIndexFixed() const { return 2; }

		const bool isDashLine;

		const bool xCrosshairs;
		const bool yCrosshairs;

		const bool xCrosshairsText;
		const bool yCrosshairsText;

		const bool isShowLoading;

		const float rectKLineRow;

		std::vector<CanvaserStatus> canvaserCollectionList;

	};
}

#endif
